package com.zhuanzhuan.hero.user.facade;

import com.bj58.spat.scf.server.contract.annotation.ServiceContract;
import com.bj58.youpin.common.rpc.result.Result;
import com.bj58.zhuanzhuan.zzentry.common.service.entity.ServiceHeaderEntity;
import com.bj58.zhuanzhuan.zzentry.common.service.entity.ZZOpenScfBaseResult;
import com.bj58.zhuanzhuan.zzentry.common.service.model.openEntry.ZZHeader;
import com.zhuanzhuan.hero.user.dto.UserContactDTO;
import com.zhuanzhuan.hero.user.vo.UserStoreVO;

/**
 * @ClassName IUserContactFacade
 * @Description
 * @Author hanjunjun
 * @Date 2024/6/19 14:22
 */
@ServiceContract
public interface IUserContactFacade {

    /**
     * 前端-联系信息-查询用户联系信息
     *
     * @param header
     * @return com.bj58.zhuanzhuan.zzentry.common.service.entity.ZZOpenScfBaseResult<com.zhaunzhuan.hero.user.vo.UserContactVO>
     * @author  hanjunjun
     * @date 2024/6/19
     **/
    ZZOpenScfBaseResult<UserContactDTO> queryUserContactInfo(@ZZHeader ServiceHeaderEntity header);

    /**
     * 后端-查询用户联系信息
     *
     * @param uid
     * @return com.bj58.youpin.common.rpc.result.Result<com.zhuanzhuan.hero.user.dto.UserContactDTO>
     * @author  hanjunjun
     * @date 2024/7/9
     **/
    Result<UserContactDTO> queryUserContactInfo(Long uid);

    /**
     * 前端-联系信息-保存用户联系信息
     *
     * @param header
     * @param userContactDTO
     * @return void
     * @author  hanjunjun
     * @date 2024/6/19
     **/
    ZZOpenScfBaseResult<Boolean> saveUserContactInfo(@ZZHeader ServiceHeaderEntity header, UserContactDTO userContactDTO);

    /**
     * 前端-查询用户店铺照片
     *
     * @param header
     * @param targetUid
     * @return com.bj58.zhuanzhuan.zzentry.common.service.entity.ZZOpenScfBaseResult<com.zhaunzhuan.hero.user.vo.UserContactVO.StoreInfo>
     * @author  hanjunjun
     * @date 2024/6/21
     **/
    ZZOpenScfBaseResult<UserStoreVO> queryUserStore(@ZZHeader ServiceHeaderEntity header, Long targetUid);
}
